package cn.terminus.web.customer.contractselldefylatedeliveryinfo.form;

import cn.terminus.result.common.vo.TerminusBaseTimesVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;

/**
 * ContractSellDefyLateDeliveryInfoNewForm
 *
 * @author makejava
 * @since 2021-07-21 11:17:48
 */
@ApiModel("ContractSellDefyLateDeliveryInfo新增参数")
@Data
public class ContractSellDefyLateDeliveryInfoNewForm extends TerminusBaseTimesVo {
    private static final long serialVersionUID = -32507474307727399L;

    /**
     * 合同ID
     */
    @ApiModelProperty(name = "contractId", value = "合同ID", required = true)
    private Long contractId;

    /**
     * 付款逾期多少日内
     */
    @ApiModelProperty(name = "lateDeliveryWithinDay", value = "付款逾期多少日内", required = true)
    private Integer lateDeliveryWithinDay;

    /**
     * 付款逾期(内)日期类型
     */
    @ApiModelProperty(name = "lateDeliveryWithinDayUnitCode", value = "付款逾期(内)日期类型", required = true)
    private String lateDeliveryWithinDayUnitCode;

    /**
     * 按日支付逾期应付百分数
     */
    @ApiModelProperty(name = "lateDeliveryOverduePaymentPercentage", value = "按日支付逾期应付百分数", required = true)
    private BigDecimal lateDeliveryOverduePaymentPercentage;

    /**
     * 逾期超多少日
     */
    @ApiModelProperty(name = "lateDeliveryOverDay", value = "逾期超多少日", required = false)
    private Integer lateDeliveryOverDay;

    /**
     * 逾期(超过)日期类型
     */
    @ApiModelProperty(name = "lateDeliveryOverDayUnitCode", value = "逾期(超过)日期类型", required = false)
    private String lateDeliveryOverDayUnitCode;

    /**
     * 客户可在多少日内解除合同
     */
    @ApiModelProperty(name = "lateDeliveryPermitCancelDay", value = "客户可在多少日内解除合同", required = false)
    private Integer lateDeliveryPermitCancelDay;

    /**
     * 客户可在多少日内解除合同 日期类型字典code
     */
    @ApiModelProperty(name = "lateDeliveryPermitCancelDayUnitCode", value = "客户可在多少日内解除合同 日期类型字典code", required = false)
    private String lateDeliveryPermitCancelDayUnitCode;

    /**
     * 解除合同支付违约金（总价款的百分数）
     */
    @ApiModelProperty(name = "cancelContractPayPercentage", value = "解除合同支付违约金（总价款的百分数）", required = false)
    private BigDecimal cancelContractPayPercentage;

    /**
     * 继续履行合同，按日支付逾期应付（总价款的百分数）
     */
    @ApiModelProperty(name = "continueContractPayPercentageWithDay", value = "继续履行合同，按日支付逾期应付（总价款的百分数）", required = true)
    private Integer continueContractPayPercentageWithDay;

}
